1. Field of the Invention
The present invention relates to a data transfer device, and more particularly, to a data transfer device on which a retransmission control protocol is packaged in order to prevent the loss of a data packet due to an error on a line in establishing communication through an ATM (Asynchronous Transfer Mode) communication network.
2. Description of the Background Art
On an ATM network, a data packet is transferred upon being partitioned into cells having a fixed length of 53 bytes. When a bit error on a line, congestion in an exchange, and the like are produced, the cells are discarded, so that data is lost. In order to transfer data high in real time properties such as video data, it is necessary to prevent the lost data, and provide sufficient throughput. In order to prevent the loss of data, a method to package a protocol having a retransmission control function on ATM has been conventionally employed. As the protocol having the retransmission control function, a system for packaging TCP/IP has been generally employed. However, sufficient throughput cannot be obtained (see an article entitled "A Measurement of TCP Throughput over High-Speed and Long-Delay Network" by Ito et al. in Technical Report of leice. IN95-9 issued by The Institute of Electronics, Information and Communication Engineers).
On the other hand, International Telecommunication Union-Telecommunication Sector (ITU-TS) recommends SSCOP (Service Specific Connection Oriented Protocol) as a retransmission control function of a signaling message in an ATM network. The SSCOP employs a selective retransmission system. Even when retransmission is produced, therefore, sufficient throughput can be maintained. Further, the arrival delay of a data packet for the retransmission can be reduced. However, the definition of the SSCOP in ITU-T Recommendation is unsuitable for transfer of a large amount of data because it premises the use for signaling.
The procedure for the data transfer using the SSCOP will be described using FIG. 8. In the SSCOP, a sequence number is added for each data packet whose transfer is required, to produce a protocol data unit called SD (hereinafter referred to as PDU), and the PDU is transmitted to a device which is a destination of connection.
When the data transfer is made using the SSCOP, a data link is first set. The data link is set by transferring PDU called BGN to the device which is a destination of connection. A device on the receiving side which received the BGN produces PDU called BGAK and sends out the PDU, to accept the setting of the data link. The first value (hereinafter referred to as NMR) of the sequence numbers of SDs which cannot be received by the device on the receiving side is added to the BGAK. When the number of SDs which can be received by the device on the receiving side is eight, for example, SD(0) to SD(7), the NMR takes a value representing SD(8), i.e., 8. A device on the transmission side can send out SDs in a range in which the number of the SDs does not exceed the NMR. Consequently, the NMR is also called a credit value.
When the setting of the data link is completed, it is possible to transfer the data packet. The device on the transmission side produces SD upon acceptance of a data transfer request, and sends out the SD to the line. When the sequence number at this time is taken as zero, SD(0) shown in FIG. 8 is sent out. A data region for the SD sent out is held by the device on the transmission side. Similarly, SD(1) to SD(5) are sent out. Thereafter, the device on the transmission side produces PDU called POLL (a delivery confirmation packet), and sends out the PDU. The sequence number (hereinafter referred to as NS) of SD to be subsequently transmitted, that is, 6 in this case is added to the POLL. The device on the receiving side produces PDU called STAT after confirming whether or not there is no omission in data to be received upon acceptance of the POLL. The sequence number of the SD which cannot be received, the sequence number (hereinafter referred to as NR) of SD succeeding the SDs continuously received and the NMR are added to the STAT. In this case, the device on the receiving side receives all the data to be received SD(0) to SD(5), thereby only the NR=6 and the NMR are added to the STAT. The NMR is 14 (=6+8) when the number of SDs which can be received by the device on the receiving side at this time point is eight. The difference between the NMR and the NR is a window size on the transmission side (a value representing the number of SDs which may be sent). The device on the transmission side retransmits the SD which cannot be received by the device on the receiving side upon receipt of the STAT, while releasing a data region for the SDs continuously received by the device on the receiving side. In this case, a data region for SD(0) to SD(5) is released.
The following are timings at which POLLs are sent out from the device on the transmission side. The first timing is timing after sending out a predetermined number of SDs. The number is defined as a protocol parameter, and is referred to as MaxPD. The second timing is the time when a time-out of a timer for monitoring a transmission interval of the POLLs occurs. This timer period is referred to as Timer_POLL, and a time-out value of the timer period is defined as a protocol parameter. At the time point of either one of the timings, the POLL is produced, and is sent out. At this time, a counter for counting the number of SDs continuously transferred which is to be compared with the MaxPD is cleared, and the Timer_POLL is also restarted.
FIG. 8 illustrates an example in a case where the MaxPD is six. When six or more SDs are continuously transmitted, the POLL is immediately sent out. If the SDs are sparsely transmitted, the POLL is not sent out until the time corresponding to the timer value of the Timer_POLL has elapsed. When the transmission of the POLL is delayed, the receiving of the STAT is also delayed. Therefore, the updating of the window size and the releasing of the data region held by the device on the transmission side are delayed.
As described in the foregoing, in the SSCOP, the data transfer performance is changed depending on the transfer interval of data packets and the values of the protocol parameters. In ITU-T Recommendation, however, the values of the protocol parameters are fixedly determined for signaling.
As described in the foregoing, if the SSCOP is used, the procedure for retransmission control is carried out on the ATM network, and a high performance can be obtained. When a large amount of data is transferred using the protocol parameters defined for signaling, however, a sufficient transfer capability cannot be obtained. Further, the protocol parameters are fixedly set, thereby various patterns for the data transfer cannot be coped with. In order to transfer various data using the SSCOP, therefore, it is necessary to consider construction suitable for the data transfer. Specifically, such construction that various protocol parameters required for SSCOP processing can be set to values suitable for the transfer of the data packets is necessary.